package com.csw.scala

object Demo13Fun4 {
  def main(args: Array[String]): Unit = {

    /**
      * 以函数作为返回值
      */

    def fun1(str: String): String => Int ={

      def f(s: String): Int ={
        s.toInt+str.toInt
      }
      //将函数返回
      f
    }

    //调用函数返回一个函数
    val fun2: String => Int = fun1("100")

    //再调用返回的函数
    val i = fun2("200")

    println(i)

    //简化调用的方法
    val j = fun1("1")("2")
    println(j)


    /**
      * 简化函数的定义
      */
    def fun3(str: String)(s: String):Int ={
      s.toInt + str.toInt
    }

    val x = fun3("2")("20")
    println(x)
  }
}
